
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class ArenaFirstrankCfg : public ManualSingleton <ArenaFirstrankCfg>
{
	friend ManualSingleton <ArenaFirstrankCfg>;
public:
	ArenaFirstrankCfg();
	~ArenaFirstrankCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const ArenaFirstrankCfgInfo *GetArenaFirstrankCfgInfo(int32_t rankDown);
	const ArenaFirstrankCfgMap *GetArenaFirstrankCfgMap() { return &m_ArenaFirstrankCfgMap; }
private:
	ArenaFirstrankCfgMap m_ArenaFirstrankCfgMap;
};

#define  g_MakeArenaFirstrankCfgTable() (ArenaFirstrankCfg::Instance())
#define  g_GetArenaFirstrankCfgTable() (ArenaFirstrankCfg::GetInstance())
#define  g_DelArenaFirstrankCfgTable() (ArenaFirstrankCfg::Destroy())